Wiki

Clone wiki

MIST / Constraints with MIST

This section documents the constraint solver provided by the MIST library.

Page Table of Contents

Overview

MIST contains a constraint solver that may be used to adjust positions and velocities such that particular constraints are respected. Currently, only rigid bond constraints are implemented - that is keeping the bond lengths fixed throughout the simulation. It is possible to constraint either all of the bonds in the system, or only those connected to hydrogen atoms (which typically have high vibrational frequency).

While the solver itself is quite general, it is currently only implemented with the following integrators:

  • Velocity Verlet
  • Langevin Dynamics
  • Continuous Tempering
  • Nose-Hoover NPT

Turning on the the constraint solver in combination with any other integrator will result in a warning message, and the constraints will not be respected.

Two different algorithms for resolving the constraints are implemented - RATTLE and Symmetric Newton Iteration (SNIP).

Parameters

The constraint solver is controlled by the following parameters in the mist.params file:

  • string constraints - either "off", "h-bonds-only", or "all-bonds" (default = "off")
  • double constraints_tol - convergence parameter for the solver (default = 1E-8)
  • integer constraints_iter_max - maximum number of iterators for the solver (default = 100)
  • string constraints_method - either "snip" or "rattle" (default = "snip")

Up: Home; Previous: MIST Integrators; Next: Adding new integrators into the MIST library

Updated